package com.lswms.service;

import com.lswms.common.service.CrudService;
import com.lswms.dto.YnSignDTO;
import com.lswms.dto.vo.req.QuerySignInfoReq;
import com.lswms.dto.vo.req.SignReq;
import com.lswms.dto.vo.resp.QuerySignDetailResp;
import com.lswms.dto.vo.resp.QuerySignResp;
import com.lswms.entity.YnSignEntity;
import com.lswms.entity.YnUserEntity;

import java.util.List;

/**
 * 挑战期数表
 *
 * @author Mark sunlightcs@gmail.com
 * @since 1.0.0 2020-05-06
 */
public interface YnSignService extends CrudService<YnSignEntity, YnSignDTO> {

	/**
	 * 添加挑战期数
	 * @param dto
	 * @param ynuser
	 */
	public void createSign(YnSignEntity dto);
	/**
	 * 期数列表
	 * @return
	 */
	public List<QuerySignResp> querySign();
	/**
	 * 期数详情
	 * @param dto
	 * @return
	 */
	public QuerySignDetailResp querySignDetail(QuerySignInfoReq dto,YnUserEntity ynuser);
	/**
	 * 挑战
	 * @param dto
	 * @param ynuser
	 */
	public void preSign(QuerySignInfoReq dto,YnUserEntity ynuser);
	/**
	 * 打卡
	 * @param dto
	 * @param ynuser
	 */
	public void sign(SignReq dto,YnUserEntity ynuser);

}